<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
          "DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
  <title>aps.views.login'</title>
  <link rel="stylesheet" href="epydoc.css" type="text/css" />
  <script type="text/javascript" src="epydoc.js"></script>
</head>

<body bgcolor="white" text="black" link="blue" vlink="#204080"
      alink="#204080">
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
       bgcolor="#a0c0ff" cellspacing="0">
  <tr valign="middle">
  <!-- Home link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="aps-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Tree link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Index link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Help link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>

      <th class="navbar" width="100%"></th>
  </tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
  <tr valign="top">
    <td width="100%">
      <span class="breadcrumbs">
        <a href="aps-module.html">Package&nbsp;aps</a> ::
        <a href="aps.views-module.html">Package&nbsp;views</a> ::
        Module&nbsp;login'
      </span>
    </td>
    <td>
      <table cellpadding="0" cellspacing="0">
        <!-- hide/show private -->
        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
        <tr><td align="right"><span class="options"
            >[<a href="frames.html" target="_top">frames</a
            >]&nbsp;|&nbsp;<a href="aps.views.login%27-pysrc.html"
            target="_top">no&nbsp;frames</a>]</span></td></tr>
      </table>
    </td>
  </tr>
</table>
<h1 class="epydoc">Source Code for <a href="aps.views.login%27-module.html">Module aps.views.login'</a></h1>
<pre class="py-src">
<a name="L1"></a><tt class="py-lineno"> 1</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package aps=aps-module.html"><a title="aps" class="py-name" href="#" onclick="return doclink('link-0', 'aps', 'link-0');">aps</a></tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Package aps.models=aps.models-module.html"><a title="aps.models" class="py-name" href="#" onclick="return doclink('link-1', 'models', 'link-1');">models</a></tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Variable aps.models.historial.Historial.usuario=aps.models.historial.Historial-class.html#usuario,Variable aps.models.proyectousuario.ProyectoUsuario.usuario=aps.models.proyectousuario.ProyectoUsuario-class.html#usuario,Module aps.models.usuario=aps.models.usuario-module.html"><a title="aps.models.historial.Historial.usuario
aps.models.proyectousuario.ProyectoUsuario.usuario
aps.models.usuario" class="py-name" href="#" onclick="return doclink('link-2', 'usuario', 'link-2');">usuario</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
<a name="L2"></a><tt class="py-lineno"> 2</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">flask</tt> <tt class="py-keyword">import</tt> <tt id="link-3" class="py-name" targets="Variable aps.session=aps-module.html#session,Variable aps.views.atributo'.session=aps.views.atributo%27-module.html#session,Variable aps.views.item'.session=aps.views.item%27-module.html#session,Variable aps.views.lineabase'.session=aps.views.lineabase%27-module.html#session,Variable aps.views.login'.session=aps.views.login%27-module.html#session,Variable aps.views.proyecto'.session=aps.views.proyecto%27-module.html#session,Variable aps.views.relacion'.session=aps.views.relacion%27-module.html#session,Variable aps.views.session=aps.views-module.html#session"><a title="aps.session
aps.views.atributo'.session
aps.views.item'.session
aps.views.lineabase'.session
aps.views.login'.session
aps.views.proyecto'.session
aps.views.relacion'.session
aps.views.session" class="py-name" href="#" onclick="return doclink('link-3', 'session', 'link-3');">session</a></tt><tt class="py-op">,</tt> <tt class="py-name">redirect</tt><tt class="py-op">,</tt> <tt class="py-name">url_for</tt><tt class="py-op">,</tt><tt class="py-name">render_template</tt><tt class="py-op">,</tt> <tt class="py-name">jsonify</tt> </tt>
<a name="L3"></a><tt class="py-lineno"> 3</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">flask</tt> <tt class="py-keyword">import</tt> <tt id="link-4" class="py-name" targets="Variable aps.request=aps-module.html#request,Variable aps.views.atributo'.request=aps.views.atributo%27-module.html#request,Variable aps.views.historial'.request=aps.views.historial%27-module.html#request,Variable aps.views.item'.request=aps.views.item%27-module.html#request,Variable aps.views.lineabase'.request=aps.views.lineabase%27-module.html#request,Variable aps.views.login'.request=aps.views.login%27-module.html#request,Variable aps.views.permiso'.request=aps.views.permiso%27-module.html#request,Variable aps.views.proyecto'.request=aps.views.proyecto%27-module.html#request,Variable aps.views.relacion'.request=aps.views.relacion%27-module.html#request,Variable aps.views.request=aps.views-module.html#request,Variable aps.views.rol'.request=aps.views.rol%27-module.html#request,Variable aps.views.usuario'.request=aps.views.usuario%27-module.html#request"><a title="aps.request
aps.views.atributo'.request
aps.views.historial'.request
aps.views.item'.request
aps.views.lineabase'.request
aps.views.login'.request
aps.views.permiso'.request
aps.views.proyecto'.request
aps.views.relacion'.request
aps.views.request
aps.views.rol'.request
aps.views.usuario'.request" class="py-name" href="#" onclick="return doclink('link-4', 'request', 'link-4');">request</a></tt><tt class="py-op">,</tt> <tt class="py-name">flash</tt> </tt>
<a name="L4"></a><tt class="py-lineno"> 4</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-5" class="py-name"><a title="aps" class="py-name" href="#" onclick="return doclink('link-5', 'aps', 'link-0');">aps</a></tt> <tt class="py-keyword">import</tt> <tt id="link-6" class="py-name" targets="Variable aps.app=aps-module.html#app,Variable aps.models.app=aps.models-module.html#app,Variable aps.models.atributo.app=aps.models.atributo-module.html#app,Variable aps.models.fase.app=aps.models.fase-module.html#app,Variable aps.models.faserol.app=aps.models.faserol-module.html#app,Variable aps.models.fasetipoitem.app=aps.models.fasetipoitem-module.html#app,Variable aps.models.grafo.app=aps.models.grafo-module.html#app,Variable aps.models.historial.app=aps.models.historial-module.html#app,Variable aps.models.item.app=aps.models.item-module.html#app,Variable aps.models.itematributovalor.app=aps.models.itematributovalor-module.html#app,Variable aps.models.itemversion.app=aps.models.itemversion-module.html#app,Variable aps.models.lineabase.app=aps.models.lineabase-module.html#app,Variable aps.models.permiso.app=aps.models.permiso-module.html#app,Variable aps.models.proyecto.app=aps.models.proyecto-module.html#app,Variable aps.models.proyectofase.app=aps.models.proyectofase-module.html#app,Variable aps.models.proyectorol.app=aps.models.proyectorol-module.html#app,Variable aps.models.proyectousuario.app=aps.models.proyectousuario-module.html#app,Variable aps.models.proyectousuariorol.app=aps.models.proyectousuariorol-module.html#app,Variable aps.models.relacion.app=aps.models.relacion-module.html#app,Variable aps.models.rol.app=aps.models.rol-module.html#app,Variable aps.models.rolpermiso.app=aps.models.rolpermiso-module.html#app,Variable aps.models.solicitud.app=aps.models.solicitud-module.html#app,Variable aps.models.solicituditem.app=aps.models.solicituditem-module.html#app,Variable aps.models.tipoitem.app=aps.models.tipoitem-module.html#app,Variable aps.models.tipoitematributo.app=aps.models.tipoitematributo-module.html#app,Variable aps.models.uploadedfile.app=aps.models.uploadedfile-module.html#app,Variable aps.models.usuario.app=aps.models.usuario-module.html#app,Variable aps.models.voto.app=aps.models.voto-module.html#app,Variable aps.views.app=aps.views-module.html#app,Variable aps.views.atributo'.app=aps.views.atributo%27-module.html#app,Variable aps.views.historial'.app=aps.views.historial%27-module.html#app,Variable aps.views.item'.app=aps.views.item%27-module.html#app,Variable aps.views.lineabase'.app=aps.views.lineabase%27-module.html#app,Variable aps.views.login'.app=aps.views.login%27-module.html#app,Variable aps.views.permiso'.app=aps.views.permiso%27-module.html#app,Variable aps.views.proyecto'.app=aps.views.proyecto%27-module.html#app,Variable aps.views.relacion'.app=aps.views.relacion%27-module.html#app,Variable aps.views.rol'.app=aps.views.rol%27-module.html#app,Variable aps.views.usuario'.app=aps.views.usuario%27-module.html#app"><a title="aps.app
aps.models.app
aps.models.atributo.app
aps.models.fase.app
aps.models.faserol.app
aps.models.fasetipoitem.app
aps.models.grafo.app
aps.models.historial.app
aps.models.item.app
aps.models.itematributovalor.app
aps.models.itemversion.app
aps.models.lineabase.app
aps.models.permiso.app
aps.models.proyecto.app
aps.models.proyectofase.app
aps.models.proyectorol.app
aps.models.proyectousuario.app
aps.models.proyectousuariorol.app
aps.models.relacion.app
aps.models.rol.app
aps.models.rolpermiso.app
aps.models.solicitud.app
aps.models.solicituditem.app
aps.models.tipoitem.app
aps.models.tipoitematributo.app
aps.models.uploadedfile.app
aps.models.usuario.app
aps.models.voto.app
aps.views.app
aps.views.atributo'.app
aps.views.historial'.app
aps.views.item'.app
aps.views.lineabase'.app
aps.views.login'.app
aps.views.permiso'.app
aps.views.proyecto'.app
aps.views.relacion'.app
aps.views.rol'.app
aps.views.usuario'.app" class="py-name" href="#" onclick="return doclink('link-6', 'app', 'link-6');">app</a></tt>  </tt>
<a name="index"></a><div id="index-def"><a name="L5"></a><tt class="py-lineno"> 5</tt>  <tt class="py-line"> </tt>
<a name="L6"></a><tt class="py-lineno"> 6</tt>  <tt class="py-line"><tt class="py-decorator">@</tt><tt class="py-decorator">app</tt><tt class="py-op">.</tt><tt class="py-name">route</tt><tt class="py-op">(</tt><tt class="py-string">'/index'</tt><tt class="py-op">)</tt> </tt>
<a name="L7"></a><tt class="py-lineno"> 7</tt> <a class="py-toggle" href="#" id="index-toggle" onclick="return toggle('index');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="aps.views.login'-module.html#index">index</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="index-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="index-expanded"><a name="L8"></a><tt class="py-lineno"> 8</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-string">'logged_in'</tt><tt class="py-keyword">in</tt> <tt id="link-7" class="py-name"><a title="aps.session
aps.views.atributo'.session
aps.views.item'.session
aps.views.lineabase'.session
aps.views.login'.session
aps.views.proyecto'.session
aps.views.relacion'.session
aps.views.session" class="py-name" href="#" onclick="return doclink('link-7', 'session', 'link-3');">session</a></tt><tt class="py-op">:</tt> </tt>
<a name="L9"></a><tt class="py-lineno"> 9</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">render_template</tt><tt class="py-op">(</tt><tt class="py-string">'main.html'</tt><tt class="py-op">)</tt> </tt>
<a name="L10"></a><tt class="py-lineno">10</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">render_template</tt><tt class="py-op">(</tt><tt class="py-string">'login.html'</tt><tt class="py-op">)</tt> </tt>
</div><a name="L11"></a><tt class="py-lineno">11</tt>  <tt class="py-line"> </tt>
<a name="login"></a><div id="login-def"><a name="L12"></a><tt class="py-lineno">12</tt>  <tt class="py-line"><tt class="py-decorator">@</tt><tt class="py-decorator">app</tt><tt class="py-op">.</tt><tt class="py-name">route</tt><tt class="py-op">(</tt><tt class="py-string">'/login'</tt><tt class="py-op">,</tt> <tt class="py-name">methods</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-string">'GET'</tt><tt class="py-op">,</tt> <tt class="py-string">'POST'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
<a name="L13"></a><tt class="py-lineno">13</tt> <a class="py-toggle" href="#" id="login-toggle" onclick="return toggle('login');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="aps.views.login'-module.html#login">login</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="login-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="login-expanded"><a name="L14"></a><tt class="py-lineno">14</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
<a name="L15"></a><tt class="py-lineno">15</tt>  <tt class="py-line"><tt class="py-docstring">    Muestra el login</tt> </tt>
<a name="L16"></a><tt class="py-lineno">16</tt>  <tt class="py-line"><tt class="py-docstring">    @param request: objeto que encapsula la peticion del cliente   </tt> </tt>
<a name="L17"></a><tt class="py-lineno">17</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
<a name="L18"></a><tt class="py-lineno">18</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt id="link-8" class="py-name"><a title="aps.request
aps.views.atributo'.request
aps.views.historial'.request
aps.views.item'.request
aps.views.lineabase'.request
aps.views.login'.request
aps.views.permiso'.request
aps.views.proyecto'.request
aps.views.relacion'.request
aps.views.request
aps.views.rol'.request
aps.views.usuario'.request" class="py-name" href="#" onclick="return doclink('link-8', 'request', 'link-4');">request</a></tt><tt class="py-op">.</tt><tt class="py-name">method</tt> <tt class="py-op">==</tt> <tt class="py-string">'POST'</tt><tt class="py-op">:</tt> </tt>
<a name="L19"></a><tt class="py-lineno">19</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt>  </tt>
<a name="L20"></a><tt class="py-lineno">20</tt>  <tt class="py-line">            <tt class="py-name">usuario_login</tt> <tt class="py-op">=</tt><tt id="link-9" class="py-name" targets="Variable aps.bdsession=aps-module.html#bdsession,Variable aps.models.atributo.bdsession=aps.models.atributo-module.html#bdsession,Variable aps.models.base.bdsession=aps.models.base-module.html#bdsession,Variable aps.models.bdsession=aps.models-module.html#bdsession,Variable aps.models.fase.bdsession=aps.models.fase-module.html#bdsession,Variable aps.models.faserol.bdsession=aps.models.faserol-module.html#bdsession,Variable aps.models.fasetipoitem.bdsession=aps.models.fasetipoitem-module.html#bdsession,Variable aps.models.grafo.bdsession=aps.models.grafo-module.html#bdsession,Variable aps.models.historial.bdsession=aps.models.historial-module.html#bdsession,Variable aps.models.item.bdsession=aps.models.item-module.html#bdsession,Variable aps.models.itematributovalor.bdsession=aps.models.itematributovalor-module.html#bdsession,Variable aps.models.itemversion.bdsession=aps.models.itemversion-module.html#bdsession,Variable aps.models.lineabase.bdsession=aps.models.lineabase-module.html#bdsession,Variable aps.models.permiso.bdsession=aps.models.permiso-module.html#bdsession,Variable aps.models.proyecto.bdsession=aps.models.proyecto-module.html#bdsession,Variable aps.models.proyectofase.bdsession=aps.models.proyectofase-module.html#bdsession,Variable aps.models.proyectorol.bdsession=aps.models.proyectorol-module.html#bdsession,Variable aps.models.proyectousuario.bdsession=aps.models.proyectousuario-module.html#bdsession,Variable aps.models.proyectousuariorol.bdsession=aps.models.proyectousuariorol-module.html#bdsession,Variable aps.models.relacion.bdsession=aps.models.relacion-module.html#bdsession,Variable aps.models.rol.bdsession=aps.models.rol-module.html#bdsession,Variable aps.models.rolpermiso.bdsession=aps.models.rolpermiso-module.html#bdsession,Variable aps.models.solicitud.bdsession=aps.models.solicitud-module.html#bdsession,Variable aps.models.solicituditem.bdsession=aps.models.solicituditem-module.html#bdsession,Variable aps.models.tipoitem.bdsession=aps.models.tipoitem-module.html#bdsession,Variable aps.models.tipoitematributo.bdsession=aps.models.tipoitematributo-module.html#bdsession,Variable aps.models.uploadedfile.bdsession=aps.models.uploadedfile-module.html#bdsession,Variable aps.models.usuario.bdsession=aps.models.usuario-module.html#bdsession,Variable aps.models.voto.bdsession=aps.models.voto-module.html#bdsession,Variable aps.views.atributo'.bdsession=aps.views.atributo%27-module.html#bdsession,Variable aps.views.bdsession=aps.views-module.html#bdsession,Variable aps.views.fase.bdsession=aps.views.fase-module.html#bdsession,Variable aps.views.historial'.bdsession=aps.views.historial%27-module.html#bdsession,Variable aps.views.item'.bdsession=aps.views.item%27-module.html#bdsession,Variable aps.views.lineabase'.bdsession=aps.views.lineabase%27-module.html#bdsession,Variable aps.views.login'.bdsession=aps.views.login%27-module.html#bdsession,Variable aps.views.main.bdsession=aps.views.main-module.html#bdsession,Variable aps.views.permiso'.bdsession=aps.views.permiso%27-module.html#bdsession,Variable aps.views.proyecto'.bdsession=aps.views.proyecto%27-module.html#bdsession,Variable aps.views.relacion'.bdsession=aps.views.relacion%27-module.html#bdsession,Variable aps.views.rol'.bdsession=aps.views.rol%27-module.html#bdsession,Variable aps.views.solicitudcambio.bdsession=aps.views.solicitudcambio-module.html#bdsession,Variable aps.views.tipoitem.bdsession=aps.views.tipoitem-module.html#bdsession,Variable aps.views.usuario'.bdsession=aps.views.usuario%27-module.html#bdsession"><a title="aps.bdsession
aps.models.atributo.bdsession
aps.models.base.bdsession
aps.models.bdsession
aps.models.fase.bdsession
aps.models.faserol.bdsession
aps.models.fasetipoitem.bdsession
aps.models.grafo.bdsession
aps.models.historial.bdsession
aps.models.item.bdsession
aps.models.itematributovalor.bdsession
aps.models.itemversion.bdsession
aps.models.lineabase.bdsession
aps.models.permiso.bdsession
aps.models.proyecto.bdsession
aps.models.proyectofase.bdsession
aps.models.proyectorol.bdsession
aps.models.proyectousuario.bdsession
aps.models.proyectousuariorol.bdsession
aps.models.relacion.bdsession
aps.models.rol.bdsession
aps.models.rolpermiso.bdsession
aps.models.solicitud.bdsession
aps.models.solicituditem.bdsession
aps.models.tipoitem.bdsession
aps.models.tipoitematributo.bdsession
aps.models.uploadedfile.bdsession
aps.models.usuario.bdsession
aps.models.voto.bdsession
aps.views.atributo'.bdsession
aps.views.bdsession
aps.views.fase.bdsession
aps.views.historial'.bdsession
aps.views.item'.bdsession
aps.views.lineabase'.bdsession
aps.views.login'.bdsession
aps.views.main.bdsession
aps.views.permiso'.bdsession
aps.views.proyecto'.bdsession
aps.views.relacion'.bdsession
aps.views.rol'.bdsession
aps.views.solicitudcambio.bdsession
aps.views.tipoitem.bdsession
aps.views.usuario'.bdsession" class="py-name" href="#" onclick="return doclink('link-9', 'bdsession', 'link-9');">bdsession</a></tt><tt class="py-op">.</tt><tt class="py-name">query</tt><tt class="py-op">(</tt><tt id="link-10" class="py-name" targets="Class aps.models.usuario.Usuario=aps.models.usuario.Usuario-class.html"><a title="aps.models.usuario.Usuario" class="py-name" href="#" onclick="return doclink('link-10', 'Usuario', 'link-10');">Usuario</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">filter_by</tt><tt class="py-op">(</tt><tt id="link-11" class="py-name" targets="Variable aps.models.usuario.Usuario.nick=aps.models.usuario.Usuario-class.html#nick"><a title="aps.models.usuario.Usuario.nick" class="py-name" href="#" onclick="return doclink('link-11', 'nick', 'link-11');">nick</a></tt> <tt class="py-op">=</tt> <tt id="link-12" class="py-name"><a title="aps.request
aps.views.atributo'.request
aps.views.historial'.request
aps.views.item'.request
aps.views.lineabase'.request
aps.views.login'.request
aps.views.permiso'.request
aps.views.proyecto'.request
aps.views.relacion'.request
aps.views.request
aps.views.rol'.request
aps.views.usuario'.request" class="py-name" href="#" onclick="return doclink('link-12', 'request', 'link-4');">request</a></tt><tt class="py-op">.</tt><tt class="py-name">form</tt><tt class="py-op">[</tt><tt class="py-string">'usuario'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">one</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L21"></a><tt class="py-lineno">21</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-op">:</tt> </tt>
<a name="L22"></a><tt class="py-lineno">22</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"hola"</tt> </tt>
<a name="L23"></a><tt class="py-lineno">23</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">jsonify</tt><tt class="py-op">(</tt><tt class="py-op">{</tt> <tt class="py-string">'success'</tt><tt class="py-op">:</tt> <tt class="py-name">False</tt><tt class="py-op">}</tt><tt class="py-op">)</tt> </tt>
<a name="L24"></a><tt class="py-lineno">24</tt>  <tt class="py-line">            <tt class="py-keyword">pass</tt> </tt>
<a name="L25"></a><tt class="py-lineno">25</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">usuario_login</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
<a name="L26"></a><tt class="py-lineno">26</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">jsonify</tt><tt class="py-op">(</tt><tt class="py-op">{</tt> <tt class="py-string">'success'</tt><tt class="py-op">:</tt> <tt class="py-name">False</tt><tt class="py-op">,</tt> <tt class="py-string">'message'</tt> <tt class="py-op">:</tt> <tt class="py-string">'Fallo el login, verifique el nombre de usuario y contrase&amp;ntilde;a'</tt><tt class="py-op">}</tt><tt class="py-op">)</tt> </tt>
<a name="L27"></a><tt class="py-lineno">27</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-13" class="py-name"><a title="aps.request
aps.views.atributo'.request
aps.views.historial'.request
aps.views.item'.request
aps.views.lineabase'.request
aps.views.login'.request
aps.views.permiso'.request
aps.views.proyecto'.request
aps.views.relacion'.request
aps.views.request
aps.views.rol'.request
aps.views.usuario'.request" class="py-name" href="#" onclick="return doclink('link-13', 'request', 'link-4');">request</a></tt><tt class="py-op">.</tt><tt class="py-name">form</tt><tt class="py-op">[</tt><tt class="py-string">'usuario'</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-name">usuario_login</tt><tt class="py-op">.</tt><tt id="link-14" class="py-name"><a title="aps.models.usuario.Usuario.nick" class="py-name" href="#" onclick="return doclink('link-14', 'nick', 'link-11');">nick</a></tt><tt class="py-op">:</tt> </tt>
<a name="L28"></a><tt class="py-lineno">28</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">jsonify</tt><tt class="py-op">(</tt><tt class="py-op">{</tt> <tt class="py-string">'success'</tt><tt class="py-op">:</tt> <tt class="py-name">False</tt><tt class="py-op">}</tt><tt class="py-op">)</tt> </tt>
<a name="L29"></a><tt class="py-lineno">29</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt id="link-15" class="py-name"><a title="aps.request
aps.views.atributo'.request
aps.views.historial'.request
aps.views.item'.request
aps.views.lineabase'.request
aps.views.login'.request
aps.views.permiso'.request
aps.views.proyecto'.request
aps.views.relacion'.request
aps.views.request
aps.views.rol'.request
aps.views.usuario'.request" class="py-name" href="#" onclick="return doclink('link-15', 'request', 'link-4');">request</a></tt><tt class="py-op">.</tt><tt class="py-name">form</tt><tt class="py-op">[</tt><tt class="py-string">'password'</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-name">usuario_login</tt><tt class="py-op">.</tt><tt id="link-16" class="py-name" targets="Variable aps.models.usuario.Usuario.password=aps.models.usuario.Usuario-class.html#password"><a title="aps.models.usuario.Usuario.password" class="py-name" href="#" onclick="return doclink('link-16', 'password', 'link-16');">password</a></tt><tt class="py-op">:</tt> </tt>
<a name="L30"></a><tt class="py-lineno">30</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">jsonify</tt><tt class="py-op">(</tt><tt class="py-op">{</tt> <tt class="py-string">'success'</tt><tt class="py-op">:</tt> <tt class="py-name">False</tt><tt class="py-op">}</tt><tt class="py-op">)</tt> </tt>
<a name="L31"></a><tt class="py-lineno">31</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
<a name="L32"></a><tt class="py-lineno">32</tt>  <tt class="py-line">            <tt id="link-17" class="py-name"><a title="aps.session
aps.views.atributo'.session
aps.views.item'.session
aps.views.lineabase'.session
aps.views.login'.session
aps.views.proyecto'.session
aps.views.relacion'.session
aps.views.session" class="py-name" href="#" onclick="return doclink('link-17', 'session', 'link-3');">session</a></tt><tt class="py-op">[</tt><tt class="py-string">'logged_in'</tt><tt class="py-op">]</tt><tt class="py-op">=</tt><tt class="py-name">True</tt> </tt>
<a name="L33"></a><tt class="py-lineno">33</tt>  <tt class="py-line">            <tt id="link-18" class="py-name"><a title="aps.session
aps.views.atributo'.session
aps.views.item'.session
aps.views.lineabase'.session
aps.views.login'.session
aps.views.proyecto'.session
aps.views.relacion'.session
aps.views.session" class="py-name" href="#" onclick="return doclink('link-18', 'session', 'link-3');">session</a></tt><tt class="py-op">[</tt><tt class="py-string">'usuario'</tt><tt class="py-op">]</tt><tt class="py-op">=</tt><tt class="py-name">usuario_login</tt><tt class="py-op">.</tt><tt id="link-19" class="py-name"><a title="aps.models.usuario.Usuario.nick" class="py-name" href="#" onclick="return doclink('link-19', 'nick', 'link-11');">nick</a></tt> </tt>
<a name="L34"></a><tt class="py-lineno">34</tt>  <tt class="py-line">            <tt id="link-20" class="py-name"><a title="aps.session
aps.views.atributo'.session
aps.views.item'.session
aps.views.lineabase'.session
aps.views.login'.session
aps.views.proyecto'.session
aps.views.relacion'.session
aps.views.session" class="py-name" href="#" onclick="return doclink('link-20', 'session', 'link-3');">session</a></tt><tt class="py-op">[</tt><tt class="py-string">'idusuario'</tt><tt class="py-op">]</tt><tt class="py-op">=</tt><tt class="py-name">usuario_login</tt><tt class="py-op">.</tt><tt id="link-21" class="py-name" targets="Variable aps.models.atributo.Atributo.id=aps.models.atributo.Atributo-class.html#id,Variable aps.models.fase.Fase.id=aps.models.fase.Fase-class.html#id,Variable aps.models.item.Item.id=aps.models.item.Item-class.html#id,Variable aps.models.itemversion.ItemVersion.id=aps.models.itemversion.ItemVersion-class.html#id,Variable aps.models.lineabase.Lineabase.id=aps.models.lineabase.Lineabase-class.html#id,Variable aps.models.permiso.Permiso.id=aps.models.permiso.Permiso-class.html#id,Variable aps.models.proyecto.Proyecto.id=aps.models.proyecto.Proyecto-class.html#id,Variable aps.models.rol.Rol.id=aps.models.rol.Rol-class.html#id,Variable aps.models.solicitud.Solicitud.id=aps.models.solicitud.Solicitud-class.html#id,Variable aps.models.tipoitem.Tipoitem.id=aps.models.tipoitem.Tipoitem-class.html#id,Variable aps.models.usuario.Usuario.id=aps.models.usuario.Usuario-class.html#id"><a title="aps.models.atributo.Atributo.id
aps.models.fase.Fase.id
aps.models.item.Item.id
aps.models.itemversion.ItemVersion.id
aps.models.lineabase.Lineabase.id
aps.models.permiso.Permiso.id
aps.models.proyecto.Proyecto.id
aps.models.rol.Rol.id
aps.models.solicitud.Solicitud.id
aps.models.tipoitem.Tipoitem.id
aps.models.usuario.Usuario.id" class="py-name" href="#" onclick="return doclink('link-21', 'id', 'link-21');">id</a></tt> </tt>
<a name="L35"></a><tt class="py-lineno">35</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">jsonify</tt><tt class="py-op">(</tt><tt class="py-op">{</tt><tt class="py-string">'success'</tt><tt class="py-op">:</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> <tt class="py-string">'message'</tt> <tt class="py-op">:</tt> <tt class="py-string">'Login exitoso!'</tt><tt class="py-op">}</tt><tt class="py-op">)</tt> </tt>
<a name="L36"></a><tt class="py-lineno">36</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">render_template</tt><tt class="py-op">(</tt><tt class="py-string">'login.html'</tt><tt class="py-op">)</tt> </tt>
</div><a name="L37"></a><tt class="py-lineno">37</tt>  <tt class="py-line"> </tt>
<a name="logout"></a><div id="logout-def"><a name="L38"></a><tt class="py-lineno">38</tt>  <tt class="py-line"><tt class="py-decorator">@</tt><tt class="py-decorator">app</tt><tt class="py-op">.</tt><tt class="py-name">route</tt><tt class="py-op">(</tt><tt class="py-string">'/logout'</tt><tt class="py-op">)</tt> </tt>
<a name="L39"></a><tt class="py-lineno">39</tt> <a class="py-toggle" href="#" id="logout-toggle" onclick="return toggle('logout');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="aps.views.login'-module.html#logout">logout</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="logout-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="logout-expanded"><a name="L40"></a><tt class="py-lineno">40</tt>  <tt class="py-line">    <tt class="py-docstring">""" Funcion que finaliza una sesion  """</tt> </tt>
<a name="L41"></a><tt class="py-lineno">41</tt>  <tt class="py-line">    <tt id="link-22" class="py-name"><a title="aps.session
aps.views.atributo'.session
aps.views.item'.session
aps.views.lineabase'.session
aps.views.login'.session
aps.views.proyecto'.session
aps.views.relacion'.session
aps.views.session" class="py-name" href="#" onclick="return doclink('link-22', 'session', 'link-3');">session</a></tt><tt class="py-op">.</tt><tt class="py-name">pop</tt><tt class="py-op">(</tt><tt class="py-string">'logged_in'</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
<a name="L42"></a><tt class="py-lineno">42</tt>  <tt class="py-line">    <tt id="link-23" class="py-name"><a title="aps.session
aps.views.atributo'.session
aps.views.item'.session
aps.views.lineabase'.session
aps.views.login'.session
aps.views.proyecto'.session
aps.views.relacion'.session
aps.views.session" class="py-name" href="#" onclick="return doclink('link-23', 'session', 'link-3');">session</a></tt><tt class="py-op">.</tt><tt class="py-name">pop</tt><tt class="py-op">(</tt><tt class="py-string">'usuario'</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
<a name="L43"></a><tt class="py-lineno">43</tt>  <tt class="py-line">    <tt id="link-24" class="py-name"><a title="aps.session
aps.views.atributo'.session
aps.views.item'.session
aps.views.lineabase'.session
aps.views.login'.session
aps.views.proyecto'.session
aps.views.relacion'.session
aps.views.session" class="py-name" href="#" onclick="return doclink('link-24', 'session', 'link-3');">session</a></tt><tt class="py-op">.</tt><tt class="py-name">pop</tt><tt class="py-op">(</tt><tt class="py-string">'idusuario'</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
<a name="L44"></a><tt class="py-lineno">44</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">redirect</tt><tt class="py-op">(</tt><tt class="py-name">url_for</tt><tt class="py-op">(</tt><tt class="py-string">'login'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
</div><a name="L45"></a><tt class="py-lineno">45</tt>  <tt class="py-line"> </tt><script type="text/javascript">
<!--
expandto(location.href);
// -->
</script>
</pre>
<br />
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
       bgcolor="#a0c0ff" cellspacing="0">
  <tr valign="middle">
  <!-- Home link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="aps-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Tree link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Index link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Help link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>

      <th class="navbar" width="100%"></th>
  </tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
  <tr>
    <td align="left" class="footer">
    Generated by Epydoc 3.0.1 on Sat Jun  8 08:44:03 2013
    </td>
    <td align="right" class="footer">
      <a target="mainFrame" href="http://epydoc.sourceforge.net"
        >http://epydoc.sourceforge.net</a>
    </td>
  </tr>
</table>

<script type="text/javascript">
  <!--
  // Private objects are initially displayed (because if
  // javascript is turned off then we want them to be
  // visible); but by default, we want to hide them.  So hide
  // them unless we have a cookie that says to show them.
  checkCookie();
  // -->
</script>
</body>
</html>
